#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//typedef struct
//{
//    int* arr;
//    int k;
//    int head;
//    int tail;
//} MyCircularQueue;
//
//
//MyCircularQueue* myCircularQueueCreate(int k)
//{
//    MyCircularQueue* obj = (MyCircularQueue*)malloc(sizeof(MyCircularQueue));
//
//    int* tmp = (int*)malloc(sizeof(int) * (k + 1));
//    if (tmp == NULL)
//    {
//        perror("malloc");
//        exit(-1);
//    }
//
//    obj->arr = tmp;
//    obj->head = obj->tail = 0;
//    obj->k = k;
//
//    return obj;
//}
//
//bool myCircularQueueIsEmpty(MyCircularQueue* obj)
//{
//    return obj->head == obj->tail;
//}
//
//bool myCircularQueueIsFull(MyCircularQueue* obj)
//{
//    int next = obj->tail + 1;
//    if (next == obj->k + 1)
//    {
//        next = 0;
//    }
//    return next == obj->head;
//}
//
//bool myCircularQueueEnQueue(MyCircularQueue* obj, int value)
//{
//    if (myCircularQueueIsFull(obj))
//    {
//        return false;
//    }
//    obj->arr[obj->tail] = value;
//    obj->tail = obj->tail + 1;
//    if (obj->tail == obj->k + 1)
//    {
//        obj->tail = 0;
//    }
//    return true;
//}
//
//bool myCircularQueueDeQueue(MyCircularQueue* obj)
//{
//    if (myCircularQueueIsEmpty(obj))
//    {
//        return false;
//    }
//    obj->head++;
//    if (obj->head == obj->k + 1)
//    {
//        obj->head = 0;
//    }
//    return true;
//}
//
//int myCircularQueueFront(MyCircularQueue* obj)
//{
//    if (myCircularQueueIsEmpty(obj))
//    {
//        return -1;
//    }
//    return obj->arr[obj->head];
//}
//
//int myCircularQueueRear(MyCircularQueue* obj)
//{
//    if (myCircularQueueIsEmpty(obj))
//    {
//        return -1;
//    }
//    int prev = obj->tail - 1;
//    if (prev == -1)
//    {
//        prev = obj->k;
//    }
//    return obj->arr[prev];
//}
//
//void myCircularQueueFree(MyCircularQueue* obj)
//{
//    free(obj->arr);
//    free(obj);
//}

int main()
{
	int n;
	int m = 10;
	int* p1 = &m;
	int* p2 = &n;
	*p1 = *p2;
	printf("%d", m);
	return 0;
}